package com.selune.online.ordering.system.project.api.service.tenant;

import com.selune.online.ordering.system.project.api.base.response.Response;
import com.selune.online.ordering.system.project.api.pojo.category.dto.GoodsCategoryDTO;
import com.selune.online.ordering.system.project.api.pojo.category.vo.GoodsCategoryVO;
import java.util.List;

/**
 * 商品类目管理接口
 *
 * @author xiaoyp
 * @date 2020/2/29
 */

public interface ITenantCategoryService {
	
	/**
	 * 保存商品类目
	 *
	 * @param goodsCategoryDTO 商品类目DTO
	 * @return True/False
	 */
	Response<Boolean> saveCategory(GoodsCategoryDTO goodsCategoryDTO);
	
	/**
	 * 修改商品类目
	 *
	 * @param categoryId       商品类目id
	 * @param goodsCategoryDTO 商品类目DTO
	 * @return True/False
	 */
	Response<Boolean> updateCategory(Long categoryId, GoodsCategoryDTO goodsCategoryDTO);
	
	/**
	 * 查询商品类目
	 *
	 * @return List
	 */
	Response<List<GoodsCategoryVO>> listCategory();
	
	/**
	 * 根据id查找商品类目
	 *
	 * @param categoryId 商品类目id
	 * @return GoodsCategoryVO
	 */
	Response<GoodsCategoryVO> findCategoryById(Long categoryId);
	
	/**
	 * 删除商品类目
	 *
	 * @param categoryId 商品类目id
	 * @return True/False
	 */
	Response<Boolean> deleteCategory(Long categoryId);
}
